package com.zs.admin.service.wisdbook;

import com.zs.admin.validate.commons.IdValidate;
import com.zs.admin.validate.commons.PageValidate;
import com.zs.admin.validate.wisdbook.WisdbookUserCreateValidate;
import com.zs.admin.validate.wisdbook.WisdbookUserUpdateValidate;
import com.zs.admin.validate.wisdbook.WisdbookUserSearchValidate;
import com.zs.admin.vo.wisdbook.WisdbookUserListedVo;
import com.zs.admin.vo.wisdbook.WisdbookUserDetailVo;
import com.zs.admin.vo.system.SystemAuthAdminListedVo;
import com.zs.common.core.PageResult;

/**
 * 标记任务服务接口类
 * @author SwAdmin
 */
public interface IWisdbookUserService {


    /**
     * 标记任务列表
     *
     * @author SwAdmin
     * @param pageValidate 分页参数
     * @param idValidate id参数
     * @return PageResult<WisdbookUserListedVo>
     */
    PageResult<SystemAuthAdminListedVo> selectUsers(PageValidate pageValidate, IdValidate idValidate);

    /**
     * 标记任务详情
     *
     * @author SwAdmin
     * @param searchValidate 搜索参数
     * @return WisdbookUserListedVo
     */
    WisdbookUserDetailVo get(WisdbookUserSearchValidate searchValidate);

    /**
     * 标记任务列表
     *
     * @author SwAdmin
     * @param pageValidate 分页参数
     * @param searchValidate 搜索参数
     * @return PageResult<WisdbookUserListedVo>
     */
    PageResult<WisdbookUserListedVo> listByUser(PageValidate pageValidate, WisdbookUserSearchValidate searchValidate);

    /**
     * 标记任务列表
     *
     * @author SwAdmin
     * @param pageValidate 分页参数
     * @param searchValidate 搜索参数
     * @return PageResult<WisdbookUserListedVo>
     */
    PageResult<WisdbookUserListedVo> list(PageValidate pageValidate, WisdbookUserSearchValidate searchValidate);

    /**
     * 标记任务详情
     *
     * @author SwAdmin
     * @param id 主键ID
     * @return WisdbookUserDetailVo
     */
    WisdbookUserDetailVo detail(Integer id);

    /**
     * 标记任务新增
     *
     * @author SwAdmin
     * @param createValidate 参数
     */
    void add(WisdbookUserCreateValidate createValidate);

    /**
     * 标记任务编辑
     *
     * @author SwAdmin
     * @param updateValidate 参数
     */
    void edit(WisdbookUserUpdateValidate updateValidate);

    /**
     * 标记任务删除
     *
     * @author SwAdmin
     * @param id 主键ID
     */
    void del(Integer id);

}
